Enhanced Co - Scheduling : A Software Pipelining

نویسندگان

  • R. Govindarajan
  • Narasimha Rao
  • E. R. Altman
  • Guang R. Gao
چکیده

Instruction scheduling methods which use the concepts developed by the classical pipeline theory have been proposed for architectures involving deeply pipelined function units. These methods rely on the construction of state diagrams (or automatons) to (i) eeciently represent the complex resource usage pattern, and (ii) analyze legal initiation sequences, i.e., those which do not cause a structural hazard. In this paper, we propose a state-diagram based approach for modulo scheduling or software pipelining, an instruction scheduling method for loops. Our approach adapts the classical pipeline theory for modulo scheduling, and, hence, the resulting theory is called Modulo-Scheduled pipeline (MS-pipeline) theory. The state diagram, called the Modulo-Scheduled (MS) state diagram is helpful in identifying legal initiation or latency sequences, that improve the number of instructions initiated in a pipeline. An eecient method, called Co-scheduling, which uses the legal initiation sequences as guidelines for constructing software pipelined schedules has been proposed in this paper. However, the complexity of the constructed MS-state diagram limits the usefulness of our Co-scheduling method. Further analysis of the MS-pipeline theory, reveals that the space complexity of the MS-state diagram can be signiicantly reduced by identifying primary paths We develop the underlying theory to establish that the reduced MS-state diagram consisting only of primary paths is complete; i.e., it retains all the useful information represented by the original state diagram as far as scheduling of operations is concerned. Our experiments show that the number of paths in the reduced state diagram is signiicantly lower | by 1 to 3 orders of magnitude | compared to the number of paths in the original state diagram. The reduction in the state diagram facilitate the Co-scheduling method to consider multiple initiations sequences, and hence obtain more eecient schedules. We call the resulting method, enhanced Co-scheduling. The enhanced Co-scheduling method produced eecient schedules when tested on a set of 1153 benchmark loops. Further the schedules produced by this method are signiicantly better than those produced by Huu's 1 Slack Scheduling method, a competitive software pipelining method, in terms of both the initiation interval of the schedules and the time taken to construct them.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Technical Report an Enhanced Co-scheduling Method Using Reduced Ms-state Diagrams 1

Instruction scheduling methods based on the construction of state diagrams (or automatons) have been used for architectures involving deeply pipelined function units. However, the size of the state diagram is prohibitively large, resulting in high execution time and space requirement, which in turn, restrict the use of these methods. In this paper, we develop the underlying theory for reducing ...

متن کامل

An Enhanced Co-Scheduling Method Using Reduced MS-State Diagrams

Instruction scheduling methods based on the construction of state diagrams (or automata) have been used for architectures involving deeply pipelined function units. However, the size of the state diagram is prohibitively large, resulting in high execution time and space requirement. In this paper, we present a simple method for reducing the size of the state diagram by recognizing unique paths ...

متن کامل

Software Pipelining: An Effective Scheduling Technique for VLIW Machines

The basic idea behind software pipelining was first developed by Patel and Davidson for scheduling hardware pipe-lines. As instructionlevel parallelism made its way into general-purpose computing, it became necessary to automate scheduling. How and whether instructions can be scheduled statically have major ramifications on the design of computer architectures. Rau and Glaeser were the first to...

متن کامل

Implementation of Software Pipelining Using Window Scheduling

Software pipelining is a loop optimization which can optimize loops better, even when all other techniques fail. In this project, Software pipelining is implemented using a scheduling algorithm called window scheduling in SimpleSUIF. Although the algorithm can not be applied to all loops, it is shown that for some loops the software pipelining can improve the performance significantly.

متن کامل

Enhanced Modulo Scheduling for Loops with Conditional

Loops with conditional branches have multiple execution paths which are diicult to software pipeline. The mod-ulo scheduling technique for software pipelining addresses this problem by converting loops with conditional branches into straight-line code before scheduling. In this paper we present an Enhanced Modulo Scheduling (EMS) technique that can achieve a lower minimum Initiation Interval th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999